module ldh.im.fxbase {
    requires javafx.controls;
    requires javafx.fxml;
    requires javafx.web;
    requires javafx.swing;

    requires com.jfoenix;

    requires java.net.http;
    requires java.sql;
    requires java.desktop;
    requires svgfx;

    requires io.netty.transport;
    requires io.netty.codec;
    requires io.netty.buffer;
    requires io.netty.common;

    requires org.kordamp.ikonli.core;
    requires org.kordamp.ikonli.javafx;
    requires org.kordamp.ikonli.ionicons;
    requires org.kordamp.ikonli.devicons;
    requires org.kordamp.ikonli.fontawesome;

    requires reactfx;
    requires org.fxmisc.richtext;
    requires MaterialFX;
    requires org.scenicview.scenicview;
//    requires com.github.kwhat.jnativehook;

    requires webrtc.java;

    requires org.slf4j;

    requires ldh.im.imbase;
    requires ldh.rpc;

    requires com.h2database;
    requires org.apache.commons.dbcp2;
    requires java.management;
    requires org.apache.commons.dbutils;
    requires org.apache.commons.lang3;
    requires org.apache.commons.codec;
    requires com.google.common;
    requires com.github.oshi;

    requires toolgood.words;

    requires org.fxmisc.flowless;
//    requires org.bytedeco.javacv;
//    requires org.bytedeco.ffmpeg;
//    requires org.bytedeco.opencv.windows.x86_64;
//    requires org.bytedeco.openblas.windows.x86_64;

    requires org.bytedeco.javacv;
//    requires org.bytedeco.opencv;
    requires org.bytedeco.javacpp;
    requires org.bytedeco.ffmpeg;
    requires org.bytedeco.ffmpeg.windows.x86_64;
//    requires org.bytedeco.javacpp.windows.x86_64;
//    requires org.bytedeco.javacpp.windows.x86;
//    requires org.bytedeco.opencv.windows.x86;
//    requires org.bytedeco.opencv.windows.x86_64;
//    requires org.bytedeco.openblas.windows.x86_64;
    requires pinyin4j;
    requires com.gluonhq.emoji;
    requires xmlgraphics.commons;
    requires javafx.media;

    opens ldh.im.fxbase.controller to javafx.fxml;
    opens ldh.im.fxbase.data.pojo to com.google.gson;
    opens ldh.im.fxbase.data.pojo.status to com.google.gson;
    opens ldh.im.fxbase.data.pojo.ext to com.google.gson;

    exports ldh.im.fxbase.controller to javafx.fxml, ldh.im.fxgui;

    exports ldh.im.fxbase.component;
    exports ldh.im.fxbase.fxanimations;
    exports ldh.im.fxbase.cache;
    exports ldh.im.fxbase.util;
    exports ldh.im.fxbase.emoji;
    exports ldh.im.fxbase.data.pojo;
    exports ldh.im.fxbase.data.dto;
    exports ldh.im.fxbase.data.pojo.status;
    exports ldh.im.fxbase.richtext;
    exports ldh.im.fxbase.richtext.item;
    exports ldh.im.fxbase.dao;
    exports ldh.im.fxbase.cell;
    exports ldh.im.fxbase.service;
    exports ldh.im.fxbase;
    exports ldh.im.fxbase.exception;
    exports ldh.im.fxbase.data.event;
    exports ldh.im.fxbase.restart4j;
    exports ldh.im.fxbase.rpc;
    exports ldh.im.fxbase.rpc.service;
    exports ldh.im.fxbase.rpc.router;
    exports ldh.im.fxbase.data.pojo.ext to org.apache.commons.dbutils, com.google.gson;
}